

clear 
set more off


*  Generate change in immigrants inflows over time


use "$data\Q_data_country.dta" , clear
sort  nationality cod_prov year

gen mn2011 =mmn if year==2011
gen mn2010 =mmn if year==2010
gen mn2009 =mmn if year==2009
gen mn2008 =mmn if year==2008
gen mn2007 =mmn if year==2007
gen mn2006 =mmn if year==2006
gen mn2005 =mmn if year==2005
gen mn2004 =mmn if year==2004
gen mn2003 =mmn if year==2003
gen mn2002 =mmn if year==2002
gen mn2001 =mmn if year==2001

bys nationality cod_prov : egen M2011= max(mn2011)
bys nationality cod_prov : egen M2010= max(mn2010)
bys nationality cod_prov : egen M2009= max(mn2009)
bys nationality cod_prov : egen M2008= max(mn2008)
bys nationality cod_prov : egen M2007= max(mn2007)
bys nationality cod_prov : egen M2006= max(mn2006)
bys nationality cod_prov : egen M2005= max(mn2005)
bys nationality cod_prov : egen M2004= max(mn2004)
bys nationality cod_prov : egen M2003= max(mn2003)
bys nationality cod_prov : egen M2002= max(mn2002)
bys nationality cod_prov : egen M2001= max(mn2001)

gen Mdelta_all= M2011-M2001 
replace Mdelta_all= M2011-M2001 if Mdelta_all==. & M2001!=. 
replace Mdelta_all= M2011-M2002 if Mdelta_all==. & M2002!=. 
replace Mdelta_all= M2011-M2003 if Mdelta_all==. & M2003!=. 
replace Mdelta_all= M2011-M2004 if Mdelta_all==. & M2004!=. 
replace Mdelta_all= M2011-M2005 if Mdelta_all==. & M2005!=. 
replace Mdelta_all= M2011-M2006 if Mdelta_all==. & M2006!=. 
replace Mdelta_all= M2011-M2007 if Mdelta_all==. & M2007!=. 
replace Mdelta_all= M2011-M2008 if Mdelta_all==. & M2008!=. 
replace Mdelta_all= M2011-M2009 if Mdelta_all==. & M2009!=. 
replace Mdelta_all= M2011-M2010 if Mdelta_all==. & M2010!=. 

replace Mdelta_all= M2010-M2001 if Mdelta_all==. & M2001!=. & M2010!=.
replace Mdelta_all= M2010-M2002 if Mdelta_all==. & M2002!=. & M2010!=.
replace Mdelta_all= M2010-M2003 if Mdelta_all==. & M2003!=. & M2010!=.
replace Mdelta_all= M2010-M2004 if Mdelta_all==. & M2004!=. & M2010!=.
replace Mdelta_all= M2010-M2005 if Mdelta_all==. & M2005!=. & M2010!=.
replace Mdelta_all= M2010-M2006 if Mdelta_all==. & M2006!=. & M2010!=.
replace Mdelta_all= M2010-M2007 if Mdelta_all==. & M2007!=. & M2010!=.
replace Mdelta_all= M2010-M2008 if Mdelta_all==. & M2008!=. & M2010!=.
replace Mdelta_all= M2010-M2009 if Mdelta_all==. & M2009!=. & M2010!=.

replace Mdelta_all= M2009-M2001 if Mdelta_all==. & M2001!=. & M2009!=.
replace Mdelta_all= M2009-M2002 if Mdelta_all==. & M2002!=. & M2009!=.
replace Mdelta_all= M2009-M2003 if Mdelta_all==. & M2003!=. & M2009!=.
replace Mdelta_all= M2009-M2004 if Mdelta_all==. & M2004!=. & M2009!=.
replace Mdelta_all= M2009-M2005 if Mdelta_all==. & M2005!=. & M2009!=.
replace Mdelta_all= M2009-M2006 if Mdelta_all==. & M2006!=. & M2009!=.
replace Mdelta_all= M2009-M2007 if Mdelta_all==. & M2007!=. & M2009!=.
replace Mdelta_all= M2009-M2008 if Mdelta_all==. & M2008!=. & M2009!=.

replace Mdelta_all= M2008-M2001 if Mdelta_all==. & M2001!=. & M2008!=.
replace Mdelta_all= M2008-M2002 if Mdelta_all==. & M2002!=. & M2008!=.
replace Mdelta_all= M2008-M2003 if Mdelta_all==. & M2003!=. & M2008!=.
replace Mdelta_all= M2008-M2004 if Mdelta_all==. & M2004!=. & M2008!=.
replace Mdelta_all= M2008-M2005 if Mdelta_all==. & M2005!=. & M2008!=.
replace Mdelta_all= M2008-M2006 if Mdelta_all==. & M2006!=. & M2008!=.
replace Mdelta_all= M2008-M2007 if Mdelta_all==. & M2007!=. & M2008!=.

replace Mdelta_all= M2007-M2001 if Mdelta_all==. & M2001!=. & M2007!=.
replace Mdelta_all= M2007-M2002 if Mdelta_all==. & M2002!=. & M2007!=.
replace Mdelta_all= M2007-M2003 if Mdelta_all==. & M2003!=. & M2007!=.
replace Mdelta_all= M2007-M2004 if Mdelta_all==. & M2004!=. & M2007!=.
replace Mdelta_all= M2007-M2005 if Mdelta_all==. & M2005!=. & M2007!=.
replace Mdelta_all= M2007-M2006 if Mdelta_all==. & M2006!=. & M2007!=.

replace Mdelta_all= M2006-M2001 if Mdelta_all==. & M2001!=. & M2006!=.
replace Mdelta_all= M2006-M2002 if Mdelta_all==. & M2002!=. & M2006!=.
replace Mdelta_all= M2006-M2003 if Mdelta_all==. & M2003!=. & M2006!=.
replace Mdelta_all= M2006-M2004 if Mdelta_all==. & M2004!=. & M2006!=.
replace Mdelta_all= M2006-M2005 if Mdelta_all==. & M2005!=. & M2006!=.

replace Mdelta_all= M2005-M2001 if Mdelta_all==. & M2001!=. & M2005!=.
replace Mdelta_all= M2005-M2002 if Mdelta_all==. & M2002!=. & M2005!=.
replace Mdelta_all= M2005-M2003 if Mdelta_all==. & M2003!=. & M2005!=.
replace Mdelta_all= M2005-M2004 if Mdelta_all==. & M2004!=. & M2005!=.

replace Mdelta_all= M2004-M2001 if Mdelta_all==. & M2001!=. & M2004!=.
replace Mdelta_all= M2004-M2002 if Mdelta_all==. & M2002!=. & M2004!=.
replace Mdelta_all= M2004-M2003 if Mdelta_all==. & M2003!=. & M2004!=.

replace Mdelta_all= M2003-M2001 if Mdelta_all==. & M2001!=. & M2003!=.
replace Mdelta_all= M2003-M2002 if Mdelta_all==. & M2002!=. & M2003!=.


gen Fn2011 =fmn if year==2011
gen Fn2010 =fmn if year==2010
gen Fn2009 =fmn if year==2009
gen Fn2008 =fmn if year==2008
gen Fn2007 =fmn if year==2007
gen Fn2006 =fmn if year==2006
gen Fn2005 =fmn if year==2005
gen Fn2004 =fmn if year==2004
gen Fn2003 =fmn if year==2003
gen Fn2002 =fmn if year==2002
gen Fn2001 =fmn if year==2001

bys nationality cod_prov : egen F2011= max(Fn2011)
bys nationality cod_prov : egen F2010= max(Fn2010)
bys nationality cod_prov : egen F2009= max(Fn2009)
bys nationality cod_prov : egen F2008= max(Fn2008)
bys nationality cod_prov : egen F2007= max(Fn2007)
bys nationality cod_prov : egen F2006= max(Fn2006)
bys nationality cod_prov : egen F2005= max(Fn2005)
bys nationality cod_prov : egen F2004= max(Fn2004)
bys nationality cod_prov : egen F2003= max(Fn2003)
bys nationality cod_prov : egen F2002= max(Fn2002)
bys nationality cod_prov : egen F2001= max(Fn2001)

gen Fdelta_all= F2011-F2001
replace Fdelta_all= F2011-F2001 if Fdelta_all==. & F2001!=. 
replace Fdelta_all= F2011-F2002 if Fdelta_all==. & F2002!=. 
replace Fdelta_all= F2011-F2003 if Fdelta_all==. & F2003!=. 
replace Fdelta_all= F2011-F2004 if Fdelta_all==. & F2004!=. 
replace Fdelta_all= F2011-F2005 if Fdelta_all==. & F2005!=. 
replace Fdelta_all= F2011-F2006 if Fdelta_all==. & F2006!=. 
replace Fdelta_all= F2011-F2007 if Fdelta_all==. & F2007!=. 
replace Fdelta_all= F2011-F2008 if Fdelta_all==. & F2008!=. 
replace Fdelta_all= F2011-F2009 if Fdelta_all==. & F2009!=. 
replace Fdelta_all= F2011-F2010 if Fdelta_all==. & F2010!=. 

replace Fdelta_all= F2009-F2001 if Fdelta_all==. & F2001!=. & F2009!=.
replace Fdelta_all= F2009-F2002 if Fdelta_all==. & F2002!=. & F2009!=.
replace Fdelta_all= F2009-F2003 if Fdelta_all==. & F2003!=. & F2009!=.
replace Fdelta_all= F2009-F2004 if Fdelta_all==. & F2004!=. & F2009!=.
replace Fdelta_all= F2009-F2005 if Fdelta_all==. & F2005!=. & F2009!=.
replace Fdelta_all= F2009-F2006 if Fdelta_all==. & F2006!=. & F2009!=.
replace Fdelta_all= F2009-F2007 if Fdelta_all==. & F2007!=. & F2009!=.
replace Fdelta_all= F2009-F2008 if Fdelta_all==. & F2008!=. & F2009!=.

replace Fdelta_all= F2008-F2001 if Fdelta_all==. & F2001!=. & F2008!=.
replace Fdelta_all= F2008-F2002 if Fdelta_all==. & F2002!=. & F2008!=.
replace Fdelta_all= F2008-F2003 if Fdelta_all==. & F2003!=. & F2008!=.
replace Fdelta_all= F2008-F2004 if Fdelta_all==. & F2004!=. & F2008!=.
replace Fdelta_all= F2008-F2005 if Fdelta_all==. & F2005!=. & F2008!=.
replace Fdelta_all= F2008-F2006 if Fdelta_all==. & F2006!=. & F2008!=.
replace Fdelta_all= F2008-F2007 if Fdelta_all==. & F2007!=. & F2008!=.

replace Fdelta_all= F2007-F2001 if Fdelta_all==. & F2001!=. & F2007!=.
replace Fdelta_all= F2007-F2002 if Fdelta_all==. & F2002!=. & F2007!=.
replace Fdelta_all= F2007-F2003 if Fdelta_all==. & F2003!=. & F2007!=.
replace Fdelta_all= F2007-F2004 if Fdelta_all==. & F2004!=. & F2007!=.
replace Fdelta_all= F2007-F2005 if Fdelta_all==. & F2005!=. & F2007!=.
replace Fdelta_all= F2007-F2006 if Fdelta_all==. & F2006!=. & F2007!=.

replace Fdelta_all= F2006-F2001 if Fdelta_all==. & F2001!=. & F2006!=.
replace Fdelta_all= F2006-F2002 if Fdelta_all==. & F2002!=. & F2006!=.
replace Fdelta_all= F2006-F2003 if Fdelta_all==. & F2003!=. & F2006!=.
replace Fdelta_all= F2006-F2004 if Fdelta_all==. & F2004!=. & F2006!=.
replace Fdelta_all= F2006-F2005 if Fdelta_all==. & F2005!=. & F2006!=.

replace Fdelta_all= F2005-F2001 if Fdelta_all==. & F2001!=. & F2005!=.
replace Fdelta_all= F2005-F2002 if Fdelta_all==. & F2002!=. & F2005!=.
replace Fdelta_all= F2005-F2003 if Fdelta_all==. & F2003!=. & F2005!=.
replace Fdelta_all= F2005-F2004 if Fdelta_all==. & F2004!=. & F2005!=.

replace Fdelta_all= F2004-F2001 if Fdelta_all==. & F2001!=. & F2004!=.
replace Fdelta_all= F2004-F2002 if Fdelta_all==. & F2002!=. & F2004!=.
replace Fdelta_all= F2004-F2003 if Fdelta_all==. & F2003!=. & F2004!=.

replace Fdelta_all= F2003-F2001 if Fdelta_all==. & F2001!=. & F2003!=.
replace Fdelta_all= F2003-F2002 if Fdelta_all==. & F2002!=. & F2003!=.

keep if year>=2001 

sort nationality cod_prov year
bys nationality cod_prov  : gen Mdelta= mmn-mmn[_n-1]
gen Mrate= Mdelta/Mdelta_all
bys nationality cod_prov  : gen Fdelta= fmn-fmn[_n-1]
gen Frate= Fdelta/Fdelta_all
keep cod_prov year nationality Mrate Frate mmn fmn 
recode nationality (998=0) 
rename nationality hbc
rename cod_prov provres
save "$data\census_share.dta" , replace


* Use single data from Census 2011: males and females

use "$data\Msinglemag_2011_country.dta" , clear
merge 1:1 provres hbc using "$data\Msinglemag_2001_country.dta" , keep(match )
tab _merge
drop _merge
gen Mdelta_singleall= msinglemag_2011-msinglemag_2001
cap drop year
save "$data\Mdelta_single.dta"  , replace

use "$data\census_share.dta" , clear
merge m:1 provres hbc using "$data\Mdelta_single.dta" , keep(match)
tab _merge
drop _merge
sort provres hbc year
gen Mdelta_single= Mdelta_singleall*Mrate
gen Msingle= msinglemag_2001 if year==2001
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2002
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2003
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2004
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2005
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2006
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2007
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2008
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2009
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2010
replace Msingle= Msingle[_n-1] + Mdelta_single if year==2011
replace Msingle= Msingle[_n-1] if year==2012
order provres year hbc Msingle msinglemag_2001 msinglemag_2011
save "$data\Msinglemag_country_2001-2012.dta" , replace


use "$data\Fsinglemag_2011_country.dta" , clear
merge 1:1 provres wbc using "$data\Fsinglemag_2001_country.dta" , keep(match )
tab _merge
drop _merge
gen Fdelta_singleall= fsinglemag_2011-fsinglemag_2001
cap drop year
save "$data\Fdelta_single.dta"  , replace

use "$data\census_share.dta" , clear
rename hbc wbc
merge m:1 provres wbc using "$data\Fdelta_single.dta" , keep(match)
tab _merge
drop _merge
sort provres wbc year
gen Fdelta_single= Fdelta_singleall*Frate
gen Fsingle= fsinglemag_2001 if year==2001
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2002
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2003
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2004
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2005
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2006
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2007
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2008
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2009
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2010
replace Fsingle= Fsingle[_n-1] + Fdelta_single if year==2011
replace Fsingle= Fsingle[_n-1] if year==2012
order provres year wbc Fsingle fsinglemag_2001 fsinglemag_2011
save "$data\Fsinglemag_country_2001-2012.dta" , replace


* Append final Census data over time

use "$data\Msinglemag_country_2001-2012.dta" , clear
append using "$data\Msinglemag_country_1995-2000.dta"
save "$data\Msinglemag_country_alltime.dta" , replace

use "$data\Fsinglemag_country_2001-2012.dta" , clear
append using "$data\Fsinglemag_country_1995-2000.dta"
save "$data\Fsinglemag_country_alltime.dta" , replace


